import numpy as np
import cv2 as cv

# 创建一个空白图像（黑色背景）
org_img = np.zeros((200, 400, 3), np.uint8)

# 定义要绘制的文字和位置
text = "Hello OpenCV"
position = (10, 70)  # 文字的左下角位置

# 定义字体、缩放比例、颜色和厚度
font = cv.FONT_HERSHEY_SIMPLEX
scale = 1  # 0.5 可以表示小字体
color = [255, 255, 255]  # 白色
thickness = 1

help_str = """
点击图片, 按下键盘上的键:

w:增大字体 float
s:减小字体

q:增大厚度 int
a:减小厚度

i : 字体颜色 r通道 +10
k : 字体颜色 r通道 -10
"""
print(help_str)
font_value = 255
KEY_ESC = 27

while True:
    # 在图像上绘制文字
    img = org_img.copy()
    cv.putText(img, text, position, font, scale, color, thickness, cv.LINE_AA)
    cv.imshow("darw text", img)
    key = cv.waitKey(0) & 0xFF
    if key == KEY_ESC:
        break
    # 修改字体显示
    elif key == ord("w"):
        scale = scale + 0.1
    elif key == ord("s"):
        scale = max(0.1, scale - 0.1)
    elif key == ord("q"):
        thickness = thickness + 1
    elif key == ord("a"):
        thickness = max(0, thickness - 1)
    elif key == ord("i"):
        font_value = min(255, font_value + 10)
        color[0] = font_value
    elif key == ord("k"):
        font_value = max(0, font_value - 10)
        color[0] = font_value
    print(f"scale: {scale}, thickness: {thickness}, color: {font_value}")

cv.destroyAllWindows()
